package com.lyc.pojo;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import java.time.LocalDateTime;

/**
 * 系统用户信息表实体类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    /**
     * 用户唯一标识ID
     */
    private Integer id;

    /**
     * 用户名，用于登录
     */
    private String username;

    /**
     * 加密后的密码
     */
    private String password;

    /**
     * 手机号码，用于登录和找回密码
     */
    private String phone;

    /**
     * 邮箱地址，可用于找回密码
     */
    private String email;

    /**
     * 学号（用于学生身份认证，可为空）
     */
    private String studentId;

    /**
     * 学生身份是否已验证（0-未验证，1-已验证）
     */
    private Boolean isVerified;

    /**
     * 用户头像文件路径
     */
    private String avatar;

    /**
     * 用户昵称，用于显示
     */
    private String nickname;

    /**
     * 个人简介/签名
     */
    private String bio;

    /**
     * 用户角色：普通用户(user)或管理员(admin)
     */
    private String role;

    /**
     * 用户状态：正常(active)或禁用(banned)
     */
    private String status;

    /**
     * 最后登录时间
     */
    private LocalDateTime lastLoginTime;

    /**
     * 粉丝
     */
    private Integer followersCount;

    /**
     * 关注
     */
    private Integer followingCount;

    /**
     * 账户创建时间
     */
    private LocalDateTime createdAt;

    /**
     * 最后更新时间
     */
    private LocalDateTime updatedAt;
}
